Network devices that share a link segment advertise modes of operation available for each other before starting to send and receive data, and selects operation modes suitable for each of the two network devices. This function is specified as the 1000-BASE-X auto-negotiation function in clause 37 of IEEE Standards 802.3-2002, Institute of Electrical and Electronics Engineers, Inc., section three, pages 78-101, which is referred to as reference 1 below. Clause 37 is incorporated by reference as if fully set forth herein.
In the 1000-BASE-X auto-negotiation, when auto-negotiation is completed by exchanging auto-negotiation configuration codes with /C/ordered_sets between the two network devices, normal connection between the network devices is recognized and the status of the link is brought up, which makes it possible to send and receive data between the network devices. In the link-OK state, configuration codes are not transmitted any more from the network devices.
However, in the 1000-BASE-X auto-negotiation there is a possibility of coming to a deadlock where auto-negotiation is never complete, when the propagation time of signals between the devices in which auto-negotiation is performed, such as Ethernet switches, is too long, that is, when the propagation time is more than half the time of a link timer for auto-negotiation.
Such a deadlock occurs because specific codes transmitted from the opposed Ethernet switch in the preceding auto-negotiation sequence arrive during the progress of the present auto-negotiation sequence due to propagation delay, and cause the present auto-negotiation state to change, resulting in a restart of the present auto-negotiation sequence.
Usually, such a state does not take place as far as auto-negotiation does not restart in unexpected part of a process of auto-negotiation. Such a restart happens when invalid codes, or codes not specified in clause 36 of IEEE Standards 802.3-2002, section three, pages 32-77, which is incorporated by reference, come to be mixed. For example, when a system is gradually recovered from a failure, such as a cutoff of optical fiber cables between Ethernet switches, through a state of transmission performance degradation, invalid codes are mixed in the auto-negotiation sequence, resulting in a deadlock.
Therefore, in case that Ethernet switches are arranged so far away from each other that the propagation time of signals is too long, auto-negotiation may come to a deadlock and fail to establish the port, or fail to transmit data, depending on the way to repair failure between switches.
However, the auto-negotiation sequence can be initialized, which enables the auto-negotiation to get out of the deadlock state by disconnecting optical signals for more than twice the propagation time of signals between Ethernet switches and transmitting configuration codes representing a restart of the auto-negotiation from the Ethernet switch.
Some Ethernet switches currently on the market are not in conformity with the IEEE 802.3 Standards, so that some combinations of Ethernet switches make the auto-negotiation reach a deadlock, depending on the timing of recovery from a failure, and make it impossible to establish the connected port, regardless of the length of the propagation time of signals between Ethernet switches.
In this way, a recovery timing of failure may make auto-negotiation between Ethernet switches to come to a deadlock, resulting in a failure to bring the port up.
As stated above, conventional Ethernet switches may keep auto-negotiation uncompleted to come to a deadlock where the port is not brought up. Also, even if a transmission repeater is placed between Ethernet switches, the conventional transmission repeater has the same problem because it just transfers signals between Ethernet switches.